package model

import "time"

// Permission 主权限
type Permission struct {
	// 权限id
	Id int64 `json:"id" sql:"id"`
	// 权限名
	Name string `json:"name" sql:"name"`
	// 权限类型 1~品牌 2~门店 3~仓库
	PerType int8 `json:"per_type" sql:"per_type"`
	// 权限路由
	Router string `json:"router" sql:"router"`
	// 更新时间
	UpdatedAt time.Time `json:"updated_at" sql:"updated_at"`
	// 删除时间
	DeletedAt int64 `json:"deleted_at" sql:"deleted_at"`
}

// GetPermType 权限区分
func (p *Permission) GetPermType() string {
	switch p.PerType {
	case RefTypeBrand:
		return RefTypeBrandStr
	case RefTypeStore:
		return RefTypeStoreStr
	case RefTypeInventory:
		return RefTypeInventoryStr
	default:
		return ""
	}
}

// SubPermission 子权限
type SubPermission struct {
	// 子权限id
	Id int64 `json:"id" sql:"id"`
	// 权限名
	Name string `json:"name" sql:"name"`
	// 权限路由
	Router string `json:"router" sql:"router"`
	// 更新时间
	UpdatedAt time.Time `json:"updated_at" sql:"updated_at"`
	// 删除时间
	DeletedAt int64 `json:"deleted_at" sql:"deleted_at"`
}
